1. Field of the Invention
The present invention relates generally to an improved data processing system, and in particular, to dynamically binding business process activities to human entities at deployment time.
2. Description of the Related Art
Business processes define a set of coordinated tasks and activities that lead to accomplishing specific goals of an organization. Business processes may be implemented in a proprietary software language or may be implemented using an industry standard language, such as the Business Process Execution Language (BPEL). A business process may include activities which comprise automated tasks, which are performed by computers or other machines, as well as manual activities, which require some form of human intervention. One example of an activity requiring human intervention is a process in which a request for a change is received, and a human entity must assess the impact and give approval of the requested change prior to the change being implemented. Activities requiring human intervention are often called “staff activities”.
Most organizations classify their personnel into different roles based on the activities performed by each user. For example, a service provider may assign different individuals to manage different customers, different regions, and different groups of devices. In addition, users with different skill sets may assume different duties within the organization. Policy rules may be used to restrict the actions of any particular user to those operations that are appropriate for the user's role. For instance, in a typical network management system of possibly thousands of devices, the system may contain a security policy for the network administrator, for example, by assigning a specific class of privileges to the administrator based on the administrator's group. Within a runtime environment, the administrator can attempt to perform certain administrative functions that are not allowed to be performed by the average user. For example, a particular administrator may be responsible for maintaining a particular subnet of devices with a range of IP addresses between X.Y.Z.0 and X.Y.Z.255. At some point, the administrator may log into the management system and attempt to manage a device at address X.Y.Z.5. The network management system uses the security policy to determine whether to allow the administrator to perform the management function on that particular device. The process of deciding which users are allowed to perform specific activities in a business process is called “staff resolution”.
Current technologies include specialized components which allow for staff resolution of business activities to the respective human entities in the organization's personnel. An example of a product capable of staff resolution is Websphere® Application Server Enterprise Process Choreographer, also called Websphere Process Server, which is a product of International Business Machines Corporation. The staff service component in the Process Choreographer and in other current technologies is provided by and supported by the process engine of an application server. In addition, the definitions (i.e., information used for binding a particular role to an activity to be performed) that enable staff resolution using the current technologies are created at process development time. Since the human entities responsible for performing business activities are defined at development time, these definitions represent a very static aspect of such business processes. Any changes to the definitions will require rebuilding and redeploying the business process. The rebuilding of business processes are generally not feasible in a customer environment where only the binaries of these processes are available to the customer. Additionally, the customer may not want to invest in the skills which are necessary to implement these changes. Although there are sophisticated scenarios in which some flexibility is built into a business process by way of parameterizing role to business activity, the binding of business activities to roles and human entities still remains static in nature, in that no additional entities or roles in an organization may be further added to the business process without having to rebuild the process.